import { NextResponse } from 'next/server';
import { PrismaClient } from '@prisma/client';

const prisma = new PrismaClient();

// 创建Region模型
const prismaClient = new PrismaClient();
export const regionsDb = [
  { id: '1', name: '亚洲', color: '#FF5555', order: 1 },
  { id: '2', name: '欧洲', color: '#55AAFF', order: 2 },
  { id: '3', name: '北美', color: '#55FF55', order: 3 },
  { id: '4', name: '南美', color: '#FFAA55', order: 4 },
  { id: '5', name: '大洋洲', color: '#AA55FF', order: 5 },
];

// 获取所有地区
export async function GET() {
  try {
    // 由于没有Region表，我们直接返回内存中的数据
    return NextResponse.json(regionsDb);
  } catch (error) {
    console.error('获取地区失败:', error);
    return NextResponse.json(
      { error: '获取地区失败' },
      { status: 500 }
    );
  }
}

// 添加新地区
export async function POST(req: Request) {
  try {
    const { name, color } = await req.json();
    
    if (!name || name.trim() === '') {
      return NextResponse.json(
        { error: '地区名称不能为空' },
        { status: 400 }
      );
    }
    
    // 检查同名地区是否已存在
    const existingRegion = regionsDb.find(r => r.name === name);
    if (existingRegion) {
      return NextResponse.json(
        { error: '该地区名称已存在' },
        { status: 400 }
      );
    }
    
    // 生成新ID (简单使用随机字符串)
    const newId = Math.random().toString(36).substr(2, 9);
    
    // 创建新地区
    const newRegion = {
      id: newId,
      name,
      color: color || '#6C87FF',
      order: regionsDb.length + 1
    };
    
    // 添加到内存数组
    regionsDb.push(newRegion);
    
    return NextResponse.json({
      success: true,
      region: newRegion
    });
  } catch (error) {
    console.error('添加地区失败:', error);
    return NextResponse.json(
      { error: '添加地区失败' },
      { status: 500 }
    );
  }
} 